package com.huifer.wgx.service;

import com.huifer.wgx.model.FunctionEntity;
import java.util.List;

/**
 * <p>Title : FunctionService </p>
 * <p>Description : FunctionService</p>
 *
 * @author huifer
 * @date 2019-03-18
 */
public interface FunctionService {


    /**
     * 创建职能
     *
     * @param function 职能
     * @return 职能 {@link FunctionEntity}
     */
    FunctionEntity saveFunction(FunctionEntity function);


    /**
     * 查找所有职能
     *
     * @return 职能列表
     */
    List<FunctionEntity> findAll();



    /**
     *  分页查询
     * @param pageNum 页面号
     * @param pageSize 页面大小
     * @return 职能列表
     * @throws Exception
     */
    List<FunctionEntity> list(Integer pageNum, Integer pageSize) throws Exception;

    /**
     * 更新职能,根据新老职能名称
     *
     * @param oldFunction 旧职能名称
     * @param newFunction 新职能名称
     * @return 职能
     */
    FunctionEntity updateFunction(String oldFunction, String newFunction);


    /**
     * . 更新职能名称,更具职能id
     *
     * @param funcId 职能id
     * @param newFunction 新职能名称
     * @return 职能
     */
    FunctionEntity updateFunction(Long funcId, String newFunction);

    /**
     * 根据id删除职能
     * @param funcId 职能id
     * @return 职能
     */
    FunctionEntity deleteFunction(Long funcId);

    /**
     * 根据职能名称删除职能
     * @param funcName 职能名称
     * @return 职能
     */
    FunctionEntity deleteFunction(String funcName);
}
